Presentation: Tweet"Understanding Application Hiccups, and what you can do about them"
Does your application run fine most of the time, but occasionally "gets the hiccups"? Do you measure and recognize such hiccups and stalls if and when they occur?
It is important for Java developers to understand application responsiveness from an end-user point of view. The basic assumption we seem to have is that the platform we run on is a smooth, continually operating machine, or at least a good approximation. But what happens when the platform exhibits waits, stalls, pauses, execution interruptions, or whatever other name they might go by, that come in chunks big enough to dominate the application response time? Unfortunately, what happens most of the time is that we ignore the issue and chalk it off as an “outlier”. A look at the impact of such outliers on observable end-user service levels can be sobering.
In this presentation, Gil Tene (CTO, Azul Systems) will introduce simple, non-obstrusive methods for measuring and characterizing platform "hiccups" during application execution. Using the new jHiccup open source tool, Gil will demonstrate and chart commonly observed behaviors of idle, mostly idle, and busy systems, as well as common workload types that experience outliers due to garbage collection pauses and other runtime-induced delays. After demonstrating how simple, non-obtrusive measurement can establish a clear "best case" baseline for any expected application responsiveness, Gil will discuss the important things to look for in such measurements, as well as the common pitfalls experienced early in characterization attempts. Finally, using "Hiccup charts", Gil will show samples of how different runtimes, configurations and garbage collection techniques behave using platform responsiveness measures.
Download slides